package top.leinx.fxnotes.control;

/**
 * @Author : xiaolei
 * @DateTime: 2021/3/24 3:55 下午
 */

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ContentDisplay;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;

import java.net.URISyntaxException;

public class LabelExample extends Application {

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws URISyntaxException {
        // networks.png 与 当前类在同一个包
        Image icon = new Image(this.getClass().getResource("networks.png").toString());

        HBox box = new HBox(5.0); // 创建一个子组件之间间隔为5.0的水平Box容器
        box.setStyle("-fx-background-color: lightblue");

        Label label01 = new Label("First");           // 创建一个只有文本的标签
        label01.setStyle("-fx-border-color: black");  // 方便查看运行效果设置边界样式
        label01.setFont(Font.font("Arial", 24.0));    // 设置标签使用的字体

        Label label02 = new Label();                  // 创建空白标签
        label02.setGraphic(new ImageView(icon));      // 设置标签显示的图形
        label02.setStyle("-fx-border-color: black");  // 方便查看运行效果设置边界样式

        Label label03 = new Label("Third", new ImageView(icon));
        label03.setStyle("-fx-border-color: black");   // 方便查看运行效果设置边界样式
        label03.setContentDisplay(ContentDisplay.TOP); // 设置图标相对于文本的位置

        Label label04 = new Label("welcome to JavaFX");
        label04.setPrefWidth(75.0);   // 设置较短的预设宽度，文本显示不下时，显示...

        box.getChildren().addAll(label01, label02, label03, label04);

        Scene scene = new Scene(box, 600, 200);
        primaryStage.setTitle("Label 示例");
        primaryStage.setScene(scene);
        primaryStage.show();
    }
}
